<!--
 * @Author: your name
 * @Date: 2020-12-18 09:08:21
 * @LastEditTime: 2020-12-22 17:22:02
 * @LastEditors: Please set LastEditors
 * @Description: In User Settings Edit
 * @FilePath: \intelligent-agriculture-identification-management-system_-ui\src\pages\Categoary\categoary.vue
-->
<!--
  功能：功能描述
  作者：wwk
  邮箱：140775665@qq.com
  时间：2020年12月18日 09:10:52
  版本：v1.0
  修改记录：
  修改内容：
  修改人员：
  修改时间：
-->
<template>
  <div class='btns'>
    <el-form size="small" inline style="text-align:center">
        <el-form-item label="名称" >
          <el-input v-model="param.name" placeholder="请输入名称"></el-input>
        </el-form-item>
        <el-form-item>
          <el-button size="small" type="primary" icon="el-icon-search" @click="loadCategoary()">搜索</el-button>
          <el-button size="small" @click="toAddHandler" type="primary"><i class="el-icon-upload el-icon--right"></i> 新增</el-button>
       <el-button size="small" type="primary" @click="downloadHandler">导出</el-button>

        </el-form-item>
      </el-form>
      
  <el-table size="small" :data="categoary">
      <el-table-column label="id" prop="id" align="center"></el-table-column>
      <el-table-column label="名称" prop="name" align="center"></el-table-column>
      <el-table-column label="描述" prop="description" align="center"></el-table-column>
       <el-table-column label="序号" prop="no" align="center"></el-table-column>
       
        <el-table-column label="上级id" prop="parent-id" align="center"></el-table-column>
   <el-table-column label="操作" width="100" align="center">
        <!-- 定制-插槽 -->
        <template slot-scope="scope">
           <el-button size="mini" @click="editHandler(scope.row)" type="primary" icon="el-icon-edit" circle  ></el-button >
          <el-button  size="mini" @click="deleteHandler(scope.row)" type="danger" icon="el-icon-delete" circle></el-button>
        </template>
      </el-table-column>
    </el-table>
  

  </div>
</template>

<script>
import{ post,del,get} from '@/utils/request'
export default {
  // 组件名称
  data(){
    return {
      // 参数，用于保存检索的参数
      param:{},
      // 组件模板中需要的数据
      categoary:[],
    };
  },
  methods: {
    //导出事件方法
    downloadHandler(){
 window.location.href="http://8.131.68.179:9999/cms_category/download?name"+this.param.realname;
    },
    // 修改事件处理函数
    editHandler(row){
      // 跳转到修改页面 （新增页面）
      // 携带当前行的数据
      this.$router.push({
        path:"/categoary/create",    //跳转的路由（前端）
        query:row   // 携带参数
      })
    },
    // 删除事件处理函数
    deleteHandler(row) {
      this.$confirm("此操作将永久删除该数据, 是否继续?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
      }).then(() => {
        let url = "http://8.131.68.179:9999/cms_category/deleteById";
        del(url, { id: row.id }).then((resp) => {
          this.$message({ type: "success", message: resp.message });
          this.loadCategoary;
        });
      });
    },
    // 跳转
    toAddHandler(){
      this.$router.push("/categoary/create")
    },
  // 以下是生命周期钩子
  /**
  * 组件实例创建完成，属性已绑定，但DOM还未生成，$ el属性还不存在
  // */
  loadCategoary(){
      let url = "http://8.131.68.179:9999/cms_category/select"
      get(url,this.param).then(resp => {
        this.categoary = resp.data;
      })
    },
},
created(){
    this.loadCategoary();
  },
};
  
  // 页面加载的时候会执行的方法
  

</script>
<style scoped>
.btns {
  margin-bottom: .5em;
}
</style>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<!--使用了scoped属性之后，父组件的style样式将不会渗透到子组件中，-->
<!--然而子组件的根节点元素会同时被设置了scoped的父css样式和设置了scoped的子css样式影响，-->
<!--这么设计的目的是父组件可以对子组件根元素进行布局。-->
<style scoped>

</style>
